/**
 * 
 */
package com.ihg.hiex.admin.entity.upload;

import org.apache.commons.lang3.StringUtils;

import com.demo2do.core.utils.Alias;

/**
 * 
 * @author dan
 *
 */
@Alias("ReportType")
public enum ReportType {
    
    WAVE_REPORT("wave-report", "waveReport"),
    
    SWIFT_REPORT("swift-report", "swiftReport"),
    
    DELEGATE_FINAL_REPORT("delegate-final-report", "delegateFinalReport"),
    
    COACH_FINAL_REPORT("coach-final-report", "coachFinalReport"),
    
    ASSESSOR_FINAL_REPORT("assessor-final-report", "assessorFinalReport"),
    
    HR_REPORT("hr-report", "hrReport");

    private String description;
    
    private String alias;
    
    /**
     * 
     * @param description
     * @param alias
     * @param name
     */
    ReportType(String description, String alias) {
        this.description = description;
        this.alias = alias;
    }

    /**
     * 
     * @param alias
     * @return
     */
    public static ReportType aliasOf(String alias) {
        for(ReportType reportType : ReportType.values()) {
            if(StringUtils.equalsIgnoreCase(reportType.getAlias(), alias)) {
                return reportType;
            }
        }
        return null;
    }
    
    /**
     * @return the description
     */
    public String getDescription() {
        return this.description;
    }
    
    /**
     * 
     * @return
     */
    public String getAlias() {
        return alias;
    }
    
}
